﻿#region File and License Information
/*
<File>
	<License>
		Copyright © 2009 - 2017, Daniel Vaughan. All rights reserved.
		This file is part of Calcium (http://calciumsdk.net), 
		which is released under the MIT License.
		See file /Documentation/License.txt for details.
	</License>
	<CreationDate>2013-03-26 16:14:40Z</CreationDate>
</File>
*/
#endregion

using System;
using System.Threading.Tasks;

namespace Outcoder.Services.Implementation
{
	public interface ISettingsStore
	{
		bool TryGetValue(string key, Type settingType, out object value);
		bool Contains(string key);
		bool Remove(string key);
		Task Clear();
		Task Save();
		object this[string key] { get; set; }
		
		SettingsStoreStatus Status { get; }
	}

	public static class SerializationContants
	{
		public const string Base64EncodingPrefix = "__Calcium__E:Base64";
	}

	public enum SettingsStoreStatus
	{
		Ready,
		Unavailable
	}
}